Developers of data processing hardware or software systems recognize that those systems are likely to be used to interact with databases. It is therefore prudent for such developers to extensively test their products in a way that exercises the ability of those products to interact with those databases.
Because database programming is a somewhat arcane art, it is often necessary for such developers to engage the services of specialists in particular databases. At great cost to the developer, these specialists use the developer's products to create test databases, to read and write test data to those databases, and to otherwise fully exercise the developer's product in connection with a particular database application.
The foregoing testing methods impose costs on developers. These costs are further magnified by the recognition that there exists not one but many database applications, all of which will need to be tested. It is therefore desirable to provide the developer with an alternative testing procedure that avoids these costs.